The Internet is growing exponentially and temporary network outages are commonplace on the Internet. A client, whether operating a personal computer at home, in a local area network, or from a mobile, wireless device, often attempts access to a server on the Internet (e.g., a website, an e-mail server), but fails to connect to the server and initiate the communications session. After repeated failures in accessing a server, a user may wait a period of time and try again, perhaps making a successful connection or failing to make a connection. In the case of failing to connect, the server could be actively blocking a connection request. In other instances, however, a “failed” access attempt will be successful if retried after a sufficient delay. It has been found that sometimes a server may actively block or throttle connection requests based upon the originating IP address. At other times, the server or the Internet connectivity to the server may encounter intermittent and/or transient failures, including service and network failures.
It is necessary then to distinguish between a permanent or persistent transient failure in accessing the server, such as by a server consistently blocking access, and an intermittent or transient failure caused by other reasons. If it were possible to monitor every mail server or other Internet server to be accessed, then it would be possible to blacklist a particular server or devise a different connection engine route for a particular server. It would also be advantageous if some decision could be automatically made to determine when any reattempts should be made at accessing a server, and whether a set period of time should be allowed to pass before reattempting access, or if a different connection engine should be used to initiate communication.